package com.greateamd.timetableasy.client.services.university;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.greateamd.timetableasy.domain.Event;
import com.greateamd.timetableasy.domain.University;
import com.greateamd.timetableasy.domain.exceptions.DBServerSideException;
import com.greateamd.timetableasy.domain.exceptions.IllegalEntityStateException;

@RemoteServiceRelativePath("university.rpc")
public interface UniversityService extends RemoteService{

	boolean remove(University university) throws DBServerSideException ;
	boolean save(University university)throws DBServerSideException;
	boolean update(University university) throws DBServerSideException;
	University find(int id) throws DBServerSideException;
	University findByName(String name) throws DBServerSideException;
	List<University> getAll() throws DBServerSideException;
	
	List<Event> getPlanning(University university, Date from, Date to)throws DBServerSideException,IllegalEntityStateException;
}
